/*
 * DiferenciaNewFile.h
 *
 * Esta entidad hace referencia a una diferencia encontrada en el repositorio,
 * correspondiente a un archivo nuevo en el mismo
 * */

#ifndef DIFERENCIANEWFILE_H_
#define DIFERENCIANEWFILE_H_

#include "Diferencia.h"
#include "FileDateModification.h"
#include "ObtenerContenidosArchivo.h"
#include <fstream>

class DiferenciaNewFile : public Diferencia {
	public:
		DiferenciaNewFile();
		DiferenciaNewFile(const char* nombreArch,
				const std::string& dirPath) {
			nombreArchivo = nombreArch;
			this->dirPath = dirPath;
		};

		virtual ~DiferenciaNewFile() {};

		virtual std::string getComandoDiferencia() {

			std::string mensaje = UPLOADFILE;
			mensaje += " ";
			mensaje += this->nombreArchivo;

			mensaje += " ";

			std::string fullPath = (dirPath + this->nombreArchivo);
			mensaje += FileDateModification(fullPath.c_str()).getFileDateMod();

			std::string buff = obtenerContenidosArchivo(fullPath.c_str());

			mensaje += " ";
			mensaje += buff;

			return (mensaje);
		};
};

#endif
